package org.iamd.hibernate.vo;

import java.util.List;

/**
 * Основен номенклатурен обект, които е йерархичен.
 * 
 * @author И. Атанасов
 */
public abstract class TreeNomElemVO extends NomElemVO {

	/** Сериен номер на класа. */
	private static final long serialVersionUID = 8194282226152814487L;

	/** Децата на елемента. */
	private List<? extends TreeNomElemVO> children;

	/** Родителя на елемента. */
	private TreeNomElemVO parent;

	/**
	 * @return децата на елемента
	 */
	public List<? extends NomElemVO> getChildren() {
		return this.children;
	}

	/**
	 * @return родителя на елемента
	 */
	public TreeNomElemVO getParent() {
		return this.parent;
	}

	/**
	 * Setter за децата на елемента.
	 * 
	 * @param children
	 *            децата на елемента
	 */
	public void setChildren(List<? extends TreeNomElemVO> children) {
		this.children = children;
	}

	/**
	 * Setter за родителя на елемента.
	 * 
	 * @param parent
	 *            родителя на елемента
	 */
	public void setParent(TreeNomElemVO parent) {
		this.parent = parent;
	}

}